home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-19 | 6.1 KB | 267 lines | [TEXT/MPS ] |
-
- /*
- * This file was generated by the SOM Compiler.
- * FileName: Locrian:WWDCSun:CPlusPlus:LinkB.xh.
- * Generated using:
- * SOM Precompiler somipc: somc/smemit.c
- * SOM Emitter emitxh.dll: somc/smmain.c
- */
-
- /*
- *
- * Theory of Operation
- *
- *
- * Classes defined in this interface
- *
- */
-
-
- #ifndef SOM_ODBaseLink_xh
- #define SOM_ODBaseLink_xh
-
- class ODBaseLink;
-
- #define ODBaseLink_MajorVersion 1
- #define ODBaseLink_MinorVersion 0
-
- /* C++ som defs */
- #include <somcls.xh>
-
- /* Include C++ parent defs */
- #ifndef SOM_ODPersistentObject_xh
- #include <PstObj.xh>
- #endif
-
- #ifndef ODBaseLink_API
- #define ODBaseLink_API
- /*
- * -- The Class API
- */
-
- /*
- * Start of user-defined types:
- */
- class ODExtension;
- class ODLinkSource;
- class ODStorageUnit;
- class ODPart;
- class ODPartList;
- class ODDraft;
-
- /*
- * End of user-defined types.
- */
-
- #if applec ^ PRAGMA_LIB_EXPORT
- #pragma lib_export on
- #endif
-
-
- /* A procedure to create the ODBaseLink Class */
- SOMEXTERN SOMClass * SOMLINK ODBaseLinkNewClass(
- integer4 majorVersion,
- integer4 minorVersion);
-
- /* The API to the ODBaseLink class object, and the methods it introduces. */
- typedef struct ODBaseLinkClassDataStructure {
- SOMClass *classObject;
- somMToken Lock;
- somMToken Unlock;
- somMToken GetContentStorageUnit;
- somMToken RegisterDependent;
- somMToken UnregisterDependent;
- somMToken GetChangeID;
- somMToken GetChangeTime;
- somMToken GetStatus;
- somMToken ShowSourceContent;
- somMToken UpdateDependents;
- somMToken CloneTo;
- somMToken reserved1;
- somMToken reserved2;
- } ODBaseLinkClassDataStructure;
- #ifdef SOM_NO_DATA_EXPORTS
- SOMEXTERN ODBaseLinkClassDataStructure * ODBaseLinkGetClassData ( void );
- # undef ODBaseLinkClassData
- # define ODBaseLinkClassData (*ODBaseLinkGetClassData())
- #else
- SOMEXTERN ODBaseLinkClassDataStructure ODBaseLinkClassData;
- #endif /* SOM_NO_DATA_EXPORTS */
-
- #if applec ^ PRAGMA_LIB_EXPORT
- #pragma lib_export off
- #endif
-
- #define _ODBaseLink ODBaseLinkClassData.classObject
-
- /* The API to parentMtabs for ODBaseLink, and the instance data it introduces. */
- SOMEXTERN struct ODBaseLinkCClassDataStructure {
- somMethodTabs parentMtab;
- somDToken instanceDataToken;
- } ODBaseLinkCClassData;
-
- /*
- * -- Typedefs for Procedures that support Methods introduced by ODBaseLink
- */
- SOMEXTERN {
- typedef ODBoolean (* SOMLINK somTD_ODBaseLink_Lock)(ODBaseLink *somSelf, Environment *ev,
- ODULong wait,
- ODLinkKey key);
- typedef void (* SOMLINK somTD_ODBaseLink_Unlock)(ODBaseLink *somSelf, Environment *ev,
- ODLinkKey key);
- typedef ODStorageUnit* (* SOMLINK somTD_ODBaseLink_GetContentStorageUnit)(ODBaseLink *somSelf, Environment *ev,
- ODLinkKey key);
- typedef void (* SOMLINK somTD_ODBaseLink_RegisterDependent)(ODBaseLink *somSelf, Environment *ev,
- ODPart* clientPart,
- ODChangeID id);
- typedef void (* SOMLINK somTD_ODBaseLink_UnregisterDependent)(ODBaseLink *somSelf, Environment *ev,
- ODPart* clientPart);
- typedef ODChangeID (* SOMLINK somTD_ODBaseLink_GetChangeID)(ODBaseLink *somSelf, Environment *ev);
- typedef ODTime (* SOMLINK somTD_ODBaseLink_GetChangeTime)(ODBaseLink *somSelf, Environment *ev);
- typedef ODError (* SOMLINK somTD_ODBaseLink_GetStatus)(ODBaseLink *somSelf, Environment *ev);
- typedef void (* SOMLINK somTD_ODBaseLink_ShowSourceContent)(ODBaseLink *somSelf, Environment *ev);
- typedef void (* SOMLINK somTD_ODBaseLink_UpdateDependents)(ODBaseLink *somSelf, Environment *ev,
- ODChangeID id);
- typedef ODStorageUnit* (* SOMLINK somTD_ODBaseLink_CloneTo)(ODBaseLink *somSelf, Environment *ev,
- ODDraftKey draftKey,
- ODDraft* destDraft);
- }
-
- #endif /* ODBaseLink_API */
-
-
- /*
- * -- Method Tokens are Thunks
- */
- #undef somresolve_
- #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
-
- /*
- * -- The C++ Wrapper Class for ODBaseLink
- */
- class ODBaseLink : public ODPersistentObject
- {
- public:
-
- void *operator new(size_t size)
- {
- SOM_IgnoreWarning(size);
- if (!ODBaseLinkClassData.classObject)
- ODBaseLinkNewClass(ODBaseLink_MajorVersion,ODBaseLink_MinorVersion);
- return (void *)
- ((somTD_SOMClass_somNew)
- somresolve_((SOMObject *)((void*)(ODBaseLinkClassData.classObject)),
- SOMClassClassData.somNew))
- ((SOMClass *)((void*)(ODBaseLinkClassData.classObject)));
- }
-
- void operator delete(void * obj)
- {
- ((SOMObject *)obj)->somFree();
- }
-
- /* public method: Lock */
- ODBoolean Lock(Environment *ev,
- ODULong wait,
- ODLinkKey key)
- {
- return SOM_Resolve(this,ODBaseLink,Lock)
- (this,ev,wait,key);
- }
-
-
- /* public method: Unlock */
- void Unlock(Environment *ev,
- ODLinkKey key)
- {
- SOM_Resolve(this,ODBaseLink,Unlock)
- (this,ev,key);
- }
-
-
- /* public method: GetContentStorageUnit */
- ODStorageUnit* GetContentStorageUnit(Environment *ev,
- ODLinkKey key)
- {
- return SOM_Resolve(this,ODBaseLink,GetContentStorageUnit)
- (this,ev,key);
- }
-
-
- /* public method: RegisterDependent */
- void RegisterDependent(Environment *ev,
- ODPart* clientPart,
- ODChangeID id)
- {
- SOM_Resolve(this,ODBaseLink,RegisterDependent)
- (this,ev,clientPart,id);
- }
-
-
- /* public method: UnregisterDependent */
- void UnregisterDependent(Environment *ev,
- ODPart* clientPart)
- {
- SOM_Resolve(this,ODBaseLink,UnregisterDependent)
- (this,ev,clientPart);
- }
-
-
- /* public method: GetChangeID */
- ODChangeID GetChangeID(Environment *ev)
- {
- return SOM_Resolve(this,ODBaseLink,GetChangeID)
- (this,ev);
- }
-
-
- /* public method: GetChangeTime */
- ODTime GetChangeTime(Environment *ev)
- {
- return SOM_Resolve(this,ODBaseLink,GetChangeTime)
- (this,ev);
- }
-
-
- /* public method: GetStatus */
- ODError GetStatus(Environment *ev)
- {
- return SOM_Resolve(this,ODBaseLink,GetStatus)
- (this,ev);
- }
-
-
- /* public method: ShowSourceContent */
- void ShowSourceContent(Environment *ev)
- {
- SOM_Resolve(this,ODBaseLink,ShowSourceContent)
- (this,ev);
- }
-
-
- /* public method: UpdateDependents */
- void UpdateDependents(Environment *ev,
- ODChangeID id)
- {
- SOM_Resolve(this,ODBaseLink,UpdateDependents)
- (this,ev,id);
- }
-
-
- /* public method: CloneTo */
- ODStorageUnit* CloneTo(Environment *ev,
- ODDraftKey draftKey,
- ODDraft* destDraft)
- {
- return SOM_Resolve(this,ODBaseLink,CloneTo)
- (this,ev,draftKey,destDraft);
- }
-
-
-
- }; /* ODBaseLink */
-
-
-
- #endif /* SOM_ODBaseLink_xh */
-